1. Field of the Invention
The present invention generally relates to a system for diagnosing computer programs, and, in particular, to measuring the mean time between software failures using customer error reporting.
2. Description of the Related Art
Software programs often fail by “crashing” or reaching error conditions that cause them to terminate. In order to improve product quality, it is important to diagnose the reasons for failure.
It is well known for software vendors to provide users with a set of tools for capturing and analyzing program crash data. In its simplest form, these tools comprise an error reporting mechanism that presents the users with an alert message that notifies them when a crash occurs and provides an opportunity to forward crash data to the vendor for further analysis. The vendor can then use the forwarded crash data to troubleshoot problems, ultimately leading to more robust and crash-resistant programs.
However, the crash data typically relates to a single failure of a program, and does not provide any information on the number of failures that have previously occurred, or the mean time between program failures. Such information can be very important in categorizing and prioritizing the program failure.
Thus, there is a need in the art for a mechanism where the crash data generated by a program failure includes information on a running count of program crashes per user per product version, and the mean time between program failures. The present invention satisfies that need.